package com.yft.data.dao;

import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.stereotype.Repository;

@Repository
public class PublicDao  extends JdbcDaoSupport{
	/**
	 * 获得sql统计的行数
	 * @param sql
	 * @return
	 */
	public int getCount(String sql){
		return this.getJdbcTemplate().queryForInt(sql);
	}
	/**
	 * 获得sql统计的行数
	 * @param sql
	 * @return
	 */
	public int getCount(String sql,Object... args ){
		return this.getJdbcTemplate().queryForInt(sql,args);
	}
	/**
	 * 获得sql返回的一行数据
	 * @param sql
	 * @return
	 */
	public Map<String,Object> getObjectMap(String sql){
		return this.getJdbcTemplate().queryForMap(sql);
	}
	
	/**
	 * 执行update的sql语句，返回影响行数
	 * @param sql
	 * @return
	 */
	public int update(String sql)
	{
		return this.getJdbcTemplate().update(sql);
	}
	
	/**
	 * 批量执行sql update语句
	 * @param sql
	 * @return
	 */
	public int[] batchUpdate(String[] sql)
	{
		return this.getJdbcTemplate().batchUpdate(sql);
	}
	/**
	 * 获得sql返回的多行数据
	 * @param sql
	 * @return
	 */
	public List<Map<String,Object>> getObjectList(String sql){
		return this.getJdbcTemplate().queryForList(sql);
	}
	/**
	 * 获得sql返回的多行数据
	 * @param sql
	 * @return
	 */
	public List<Map<String,Object>> getObjectList(String sql,Object... args){
		return this.getJdbcTemplate().queryForList(sql,args);
	}
	/**
	 * 获得sql返回的多行数据，map为查询参数
	 * @param sql
	 * @param map
	 * @return
	 */
	public List<Map<String,Object>> getObjectList(String sql,Map<String,Object> map){
		
		return this.getJdbcTemplate().queryForList(sql,map);
	}
}
